home *** CD-ROM | disk | FTP | other *** search
- 1000 DEFINT I-M: KEY OFF: SCREEN 9: COLOR 8, 11
- 1010 CLS : CLEAR : RANDOMIZE TIMER
- 1020 GOSUB 10000
- 1030 GOTO 20000
- 10000 '****************
- 10010 ' DATE CALCULATION SUITE
- 10020 '
- 10030 ' GOSUB 11000: convert DD%,MM%,YY% to JULIAN%
- 10040 ' GOSUB 11500: convert JULIAN% to DD%,MM%,YY%
- 10050 ' GOSUB 12000: derive DAY$ (from JULIAN%)
- 10060 ' GOSUB 12500: derive ORDINAL$ (from DD%)
- 10070 ' GOSUB 13000: derive MONTH$ (from MM%)
- 10080 '
- 10090 ' Set up tables for other functions
- 10100 '
- 10110 DIM DAYS$(6)
- 10120 DATA "Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"
- 10130 FOR I% = 0 TO 6
- 10140 READ DAYS$(I%)
- 10150 NEXT
- 10160 DIM MONTHS$(12)
- 10170 DATA "January","February","March","April","May","June"
- 10180 DATA "July","August","September","October","November","December"
- 10190 FOR I% = 1 TO 12
- 10200 READ MONTHS$(I%)
- 10210 NEXT
- 10220 RETURN
- 11000 '****************
- 11010 ' Convert DD%, MM% and YY% to JULIAN%
- 11020 '
- 11030 LCLA% = VAL(MID$("120112234455", MM%, 1))
- 11040 JULIAN% = (YY% - 90) * 365 + INT(YY% / 4) + MM% * 30 + LCLA% + DD% - 53
- 11050 IF (YY% AND 3) = 0 AND MM% < 3 THEN JULIAN% = JULIAN% - 1
- 11060 RETURN
- 11500 '*****************
- 11510 ' Convert JULIAN% to DD%, MM% and YY%
- 11520 '
- 11530 YY% = 90 + INT((4 * JULIAN% - 2) / 1461)
- 11540 LCLB% = JULIAN%
- 11550 JULIAN% = JULIAN% + 1
- 11560 DD% = 1
- 11570 MM% = 13
- 11580 WHILE LCLB% < JULIAN%
- 11590 MM% = MM% - 1
- 11600 GOSUB 11000
- 11610 WEND
- 11620 DD% = LCLB% - JULIAN% + 1
- 11630 JULIAN% = LCLB%
- 11640 RETURN
- 12000 '*****************
- 12010 ' Derive DAY$ from JULIAN%
- 12020 '
- 12030 DAY$ = DAYS$(JULIAN% MOD 7) + "day"
- 12040 RETURN
- 12500 '*****************
- 12510 ' Derive ORDINAL$ from DD%
- 12520 '
- 12530 ORDINAL$ = "th"
- 12540 IF DD% MOD 10 = 1 THEN ORDINAL$ = "st"
- 12550 IF DD% MOD 10 = 2 THEN ORDINAL$ = "nd"
- 12560 IF DD% MOD 10 = 3 THEN ORDINAL$ = "rd"
- 12570 IF DD% > 10 AND DD% < 14 THEN ORDINAL$ = "th"
- 12580 ORDINAL$ = MID$(STR$(DD%), 2) + ORDINAL$
- 12590 RETURN
- 13000 '*****************
- 13010 ' Derive MONTH$ from MM%
- 13020 '
- 13030 MONTH$ = MONTHS$(MM%)
- 13040 RETURN
- 20000 '**********************
- 20010 '** PROGRAM PROPER **
- 20020 '**********************
-
-